home *** CD-ROM | disk | FTP | other *** search
- /* hash.h -- the data structures used in hashing in Bash. */
-
- #if !defined (_HASH_H_)
- #define _HASH_H_
-
- typedef struct bucket_contents {
- struct bucket_contents *next; /* Link to next hashed key in this bucket. */
- char *key; /* What we look up. */
- char *data; /* What we really want. */
- int times_found; /* Number of times this item has been found. */
- } BUCKET_CONTENTS;
-
- typedef struct hash_table {
- BUCKET_CONTENTS **bucket_array; /* Where the data is kept. */
- int nbuckets; /* How many buckets does this table have. */
- int nentries; /* How many entries does this table have. */
- } HASH_TABLE;
-
- extern BUCKET_CONTENTS
- *find_hash_item (), *remove_hash_item (), *add_hash_item (),
- *get_hash_bucket ();
-
- extern int hash_string ();
- extern HASH_TABLE *make_hash_table ();
-
- /* Default number of buckets in the hash table. */
- #define DEFAULT_HASH_BUCKETS 107
-
- #ifndef NULL
- #define NULL 0x0
- #endif
-
- #endif /* _HASH_H */
-